NumericAxis
The NumericAxis is a Value-Axis and is suitable for X and Y Axis when the data on that axis is numeric (e.g. double, int, long, float, short). It is not suitable for TX=DateTime or TimeSpan.
Declaring a NumericAxis in XAML
Declaring a NumericAxis can be done in XAML or in code
| Declaring a NumericAxis |
Copy Code |
|---|---|
<s:SciChartSurface> <!-- ... omitted for brevity --> <!-- Create a NumericAxis on the YAxis --> <s:SciChartSurface.YAxis> <s:NumericAxis AxisTitle="Number of Samples (per Series)" TextFormatting="n2" AutoRange="Once" VisibleRange="0,10" GrowBy="0.1, 0.1" AxisAlignment="Left"/> </s:SciChartSurface.YAxis> <!-- ... omitted for brevity --> </s:SciChartSurface> | |
Declaring a NumericAxis in Code
| Declaring a NumericAxis |
Copy Code |
|---|---|
var sciChartSurface = new SciChartSurface(); var yAxis = new NumericAxis() { TextFormatting = "n2", AutoRange = AutoRange.Once, VisibleRange = new DoubleRange(0, 10), GrowBy = new DoubleRange(0.1, 0.1), AxisAlignment = AxisAlignment.Left, AxisTitle = "Number of Samples (per Series)" }; sciChartSurface.YAxis = yAxis; | |
LogarithmicNumericAxis
The LogarithmicNumericAxis is a Value-Axis with a configurable logarithmic base (e.g. Base 2, E, 10) and is suitable for the XAxis and YAxis when the data on that axis is numeric (e.g. double, int, float, long, short).
Declaring a LogarithmicNumericAxis in XAML
| Declaring a LogarithmicNumericAxis |
Copy Code |
|---|---|
<!-- Create YAxis --> <s:SciChartSurface.YAxis> <s:LogarithmicNumericAxis LogarithmicBase="10" VisibleRange="0.1,10000" AxisTitle="Logarithmic YAxis" TextFormatting="E" ScientificNotation="LogarithmicBase" AxisAlignment="Right"/> </s:SciChartSurface.YAxis> | |
Declaring a LogarithmicNumericAxis in Code
| Declaring a LogarithmicNumericAxis |
Copy Code |
|---|---|
var sciChartSurface = new SciChartSurface(); var yAxis = new LogarithmicNumericAxis() { LogarithmicBase = 10.0, ScientificNotation = ScientificNotation.LogarithmicBase, TextFormatting = "E", VisibleRange = new DoubleRange(0.1, 10000.0), AxisTitle = "Logarithmic YAxis", AxisAlignment = AxisAlignment.Right }; sciChartSurface.YAxis = yAxis; | |

DateTimeAxis
The DateTimeAxis is a Value-Axis suitable for the XAxis when the data on the XAxis is a DateTime. It is not suitable for YAxis or other data-types.
Declaring a DateTimeAxis in XAML
| Declaring a DateTimeAxis |
Copy Code |
|---|---|
<s:SciChartSurface> <!-- ... omitted for brevity --> <!-- Create a DateTimeAxis on the XAxis --> <s:SciChartSurface.XAxis> <s:DateTimeAxis AxisTitle="Time" TextFormatting="dd-MMM-yyyy" SubDayTextFormatting="HH:mm:ss" AutoRange="Once" GrowBy="0.0, 0.1" AxisAlignment="Bottom"/> </s:SciChartSurface.XAxis> <!-- ... omitted for brevity --> </s:SciChartSurface> | |
Declaring DateTimeAxis in Code
| Declaring a DateTimeAxis |
Copy Code |
|---|---|
var sciChartSurface = new SciChartSurface(); var xAxis = new DateTimeAxis() { TextFormatting = "dd-MMM-yyyy", SubDayTextFormatting = "HH:mm:ss" AutoRange = AutoRange.Once, VisibleRange = new DateRange(DateTime.Now, DateTime.Now.AddDays(10)), GrowBy = new DoubleRange(0.0, 0.1), AxisAlignment = AxisAlignment.Bottom, AxisTitle = "Time" }; sciChartSurface.XAxis = xAxis; | |
TimeSpanAxis
The TimeSpanAxis is a Value-Axis suitable for the XAxis when the data on the XAxis is a TimeSpan. It is not suitable for YAxis or other data-types.
Declaring a TimeSpanAxis in XAML
| Declaring a TimeSpanAxis |
Copy Code |
|---|---|
<s:SciChartSurface> <!-- ... omitted for brevity --> <!-- Create a DateTimeAxis on the XAxis --> <s:SciChartSurface.XAxis> <s:TimeSpanAxis AxisTitle="Time" TextFormatting="HH:mm:ss.fff" AutoRange="Once" GrowBy="0.0, 0.1" AxisAlignment="Bottom"/> </s:SciChartSurface.XAxis> <!-- ... omitted for brevity --> </s:SciChartSurface> | |
Declaring a TimeSpanAxis in Code
| Declaring a TimeSpanAxis |
Copy Code |
|---|---|
var sciChartSurface = new SciChartSurface(); var xAxis = new TimeSpanAxis() { TextFormatting = "hh\:mm\:ss", AutoRange = AutoRange.Once, VisibleRange = new TimeSpanRange(TimeSpan.Zero, TimeSpan.FromMilliseconds(1000), GrowBy = new DoubleRange(0.0, 0.1), AxisAlignment = AxisAlignment.Bottom, AxisTitle = "Time" }; sciChartSurface.XAxis = xAxis; | |
CategoryDateTimeAxis
The CategoryDateTimeAxis is a Category-XAxis and is suitable for the XAxis when the data on the XAxis is a DateTime. It is not suitable for YAxis or other data-types.
Declaring a CategoryDateTimeAxis in XAML
| Declaring a CategoryDateTimeAxis |
Copy Code |
|---|---|
<!-- Create XAxis --> <s:SciChartSurface.XAxis> <s:CategoryDateTimeAxis AxisTitle="Category DateTimeAxis" BarTimeFrame="900" GrowBy="0,0.1"/> </s:SciChartSurface.XAxis> | |
Declaring a CategoryDateTimeAxis in Code
| Declaring a CategoryDateTimeAxis |
Copy Code |
|---|---|
var sciChartSurface = new SciChartSurface(); var xAxis = new CategoryDateTimeAxis() { VisibleRange = new IndexRange(0, 1000), GrowBy = new DoubleRange(0, 0.1), AxisTitle = "Category DateTimeAxis", AxisAlignment = AxisAlignment.Bottom, BarTimeFrame = 15*60, }; sciChartSurface.XAxis = xAxis; | |
IndexDateTimeAxis for Stock Charts
The IndexDateTimeAxis is an advanced hybrid axis type specifically designed for financial stock charts, forex, futures, and cryptocurrency markets. It integrates the behaviors of both CategoryDateTimeAxis and DateTimeAxis into a single, more efficient solution. It supports DateTime X-values and is exclusively designed for use on the X-axis. For more details, see this dedicated article.
Declaring IndexDateTimeAxis in XAML
| Declaring an IndexDateTimeAxis |
Copy Code |
|---|---|
<s:SciChartSurface> <!-- ... omitted for brevity --> <!-- Create an IndexDateTimeAxis as the XAxis --> <s:SciChartSurface.XAxis> <s:IndexDateTimeAxis AxisTitle="Time" AutoRange="Once" GrowBy="0.0, 0.1" AxisAlignment="Bottom" DrawMajorBands="True" DrawMinorGridLines="False" DrawMinorTicks="False" /> </s:SciChartSurface.XAxis> <!-- ... omitted for brevity --> </s:SciChartSurface> | |
Creating IndexDateTimeAxis in code
| Declaring an IndexDateTimeAxis |
Copy Code |
|---|---|
var sciChartSurface = new SciChartSurface(); var xAxis = new IndexDateTimeAxis { AutoRange = AutoRange.Never, VisibleRange = new DateRange(DateTime.Now, DateTime.Now.AddDays(10)), AxisAlignment = AxisAlignment.Bottom, AxisTitle = "Time", DrawMajorBands = true, DrawMinorGridLines = false, DrawMinorTicks = false }; sciChartSurface.XAxis = xAxis; | |
IndexNumericAxis
The IndexNumericAxis is an advanced hybrid axis type that integrates the behaviors of both CategoryNumericAxis and NumericAxis into a single, more efficient solution. It supports numeric X-values and is designed exclusively for use on the X-axis.
Declaring IndexNumericAxis in XAML
| Declaring an IndexNumericAxis |
Copy Code |
|---|---|
<s:SciChartSurface> <!-- ... omitted for brevity --> <!-- Create an IndexNumericAxis as the XAxis --> <s:SciChartSurface.XAxis> <s: IndexNumericAxis AxisTitle="Category Axis" AutoRange="Once" GrowBy="0.0, 0.1" TextFormatting = "#0.00" AxisAlignment="Bottom" DrawMajorBands="True" DrawMinorGridLines="False" DrawMinorTicks="False" /> </s:SciChartSurface.XAxis> <!-- ... omitted for brevity --> </s:SciChartSurface> | |
Creating IndexNumericAxis in code
| Declaring an IndexNumericAxis |
Copy Code |
|---|---|
var sciChartSurface = new SciChartSurface(); var xAxis = new IndexNumericAxis { AutoRange = AutoRange.Never, VisibleRange = new DoubleRange(-100.0, 500.0), AxisAlignment = AxisAlignment.Bottom, AxisTitle = "Category Axis", TextFormatting = "#0.##", DrawMajorBands = true, DrawMinorGridLines = false, DrawMinorTicks = false }; sciChartSurface.XAxis = xAxis; | |
CategoryNumericAxis
The CategoryNumericAxis is a Category-XAxis and is suitable for the XAxis when the data on the XAxis is numeric (e.g. double, int, long, float, short). It is not suitable for TX=DateTime or TimeSpan.
Declaring a CategoryNumericAxis in XAML
| Declaring a CategoryNumericAxis |
Copy Code |
|---|---|
<!-- Create XAxis --> <s:SciChartSurface.XAxis> <s:CategoryNumericAxis AxisTitle="CategoryNumericAxis" GrowBy="0,0.1"/> </s:SciChartSurface.XAxis> | |
Declaring a CategoryNumericAxis in Code
| Declaring a CategoryNumericAxis |
Copy Code |
|---|---|
var xAxis = new CategoryNumericAxis() { VisibleRange = new IndexRange(0, 1000), GrowBy = new DoubleRange(0, 0.1), AxisTitle = "CategoryNumericAxis", AxisAlignment = AxisAlignment.Bottom, }; sciChartSurface.XAxis = xAxis; | |
Discontinuous DateTime Axis and Double-Scale Axis
The DiscontinuousDateTimeAxis is a Value-Axis suitable for the XAxis when the data on the XAxis is a DateTime. It is not suitable for YAxis or other data-types.
This axis differs from the DateTimeAxis in that it allows you to skip periodic dates/times, or time ranges from the chart.
More details about this Axis type can be found in a dedicated Discontinuous DateTime Axis and Double-Scale Axis article.